﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Jardin_Informativo_Agua_Tierra
{
    public partial class Interfaz_Principal : Form
    {

        public Interfaz_Principal()
        {
            InitializeComponent();
        }

        JardinInformativoBDEntities BEDE = new JardinInformativoBDEntities();
        Validacion v = new Validacion();

        PanelInicio X = new PanelInicio();
        private void Interfaz_Principal_Load(object sender, EventArgs e)
        {
            pnl_Principal.Controls.Clear();
            
            X.TopLevel = false;
            X.Parent = pnl_Principal;
            X.Show();

            tbx_Usuario.Focus();
            btn_CerrarSesion.Visible = false;
            MenuParvulos.Enabled = false;
            MenuApoderados.Enabled = false;
            MenuRecursos.Enabled = false;
            MenuAdministracion.Enabled = false;

            tbx_Usuario.Text = "17461175";
            tbx_UsuarioDigito.Text = "0";
            tbx_Pass.Text = "87268732";

            try
            {
                ComprobarConexion C = new ComprobarConexion();
                C.TopLevel = true;
                C.Show();
            }
            catch { }
        }

        private void btn_InicioSesion_Click(object sender, EventArgs e)
        {
            this.Cursor = Cursors.WaitCursor;
            tbx_Pass.Text = tbx_Pass.Text.Trim();
            tbx_Usuario.Text = tbx_Usuario.Text.Trim();

            if (tbx_Pass.Text == "" | tbx_Usuario.Text == "")
            {
                MessageBox.Show("Ingrese sus datos para iniciar sesión.", "ERROR AL INICIAR SESIÓN.", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                if (tbx_Pass.Text == "" && tbx_Usuario.Text != "") { tbx_Pass.Focus(); }
                if (tbx_Pass.Text != "" && tbx_Usuario.Text == "") { tbx_Usuario.Focus(); }
                if (tbx_Pass.Text == "" && tbx_Usuario.Text == "") { tbx_Usuario.Focus(); }
            }
            else
            {
                int valusuario = v.ValidarRut(tbx_Usuario.Text, tbx_UsuarioDigito.Text);
                if (valusuario == 1)
                {
                    int b = int.Parse(tbx_Usuario.Text.ToString());
                    try
                    {
                    Trabajador Y = BEDE.Trabajador.Single(c => c.rut == b);
                        if (Y.clave.ToString() == tbx_Pass.Text.ToString())
                        {
                            lbl_Sesion.Text = "Bienvenid@ " + Y.nombre.ToString() + " ( " + Y.Jerarquia.nombre.ToString() + " ).";
                            tbx_UsuarioDigito.Clear();
                            tbx_Usuario.Enabled = false;
                            tbx_Pass.Enabled = false;
                            tbx_UsuarioDigito.Enabled = false;
                            btn_CerrarSesion.Visible = true;
                            //sesion_iniciada = 1;
                            if (Y.cod_cargo <= 1)
                            {
                                MenuParvulos.Enabled = true;
                                MenuCrearFicha.Enabled = true;
                                MenuConsultarFichas.Enabled = true;
                                MenuEditarFichas.Enabled = true;
                                MenuRegistrarAsistencia.Enabled = false;  // por activar
                                MenuConsultarAsistencia.Enabled = false;  // por activar
                                MenuConsultarRetiro.Enabled = true;
                                MenuConsultarNiveles.Enabled = true;
                                MenuDocumentos.Enabled = true;
                                MenuApoderados.Enabled = true;
                                MenuConsultarApoderados.Enabled = true;
                                MenuRegistrarAutorizadosRetiro.Enabled = true;
                                MenuPagos.Enabled = false;                // por activar
                                MenuRecursos.Enabled = true;
                                MenuGestionRecursos.Enabled = true;
                                MenuCotizaciones.Enabled = false;         // por activar
                                MenuAdministracion.Enabled = true;
                            }
                            else
                            {
                                if (Y.cod_cargo == 2)
                                {
                                    MenuParvulos.Enabled = true;
                                    MenuCrearFicha.Enabled = true;
                                    MenuConsultarFichas.Enabled = true;
                                    MenuEditarFichas.Enabled = true;
                                    MenuRegistrarAsistencia.Enabled = false;  // por activar
                                    MenuConsultarAsistencia.Enabled = false;  // por activar
                                    MenuConsultarRetiro.Enabled = true;
                                    MenuConsultarNiveles.Enabled = true;
                                    MenuDocumentos.Enabled = true;
                                    MenuApoderados.Enabled = true;
                                    MenuConsultarApoderados.Enabled = true;
                                    MenuRegistrarAutorizadosRetiro.Enabled = true;
                                    MenuPagos.Enabled = false; // por activar
                                    MenuRecursos.Enabled = true;
                                    MenuGestionRecursos.Enabled = true;
                                    MenuCotizaciones.Enabled = true;
                                    MenuAdministracion.Enabled = false;
                                    
                                }
                                else
                                {
                                    if (Y.cod_cargo == 3)
                                    {
                                        MenuParvulos.Enabled = true;
                                        MenuCrearFicha.Enabled = false;
                                        MenuConsultarFichas.Enabled = true;
                                        MenuEditarFichas.Enabled = false;
                                        MenuRegistrarAsistencia.Enabled = false;  // por activar
                                        MenuConsultarAsistencia.Enabled = false;  // por activar
                                        MenuConsultarRetiro.Enabled = true;
                                        MenuApoderados.Enabled = true;
                                        MenuConsultarNiveles.Enabled = true;
                                        MenuDocumentos.Enabled = false;
                                        MenuConsultarApoderados.Enabled = true;
                                        MenuRegistrarAutorizadosRetiro.Enabled = false;
                                        MenuPagos.Enabled = false; // por activar
                                        MenuRecursos.Enabled = false;
                                        MenuGestionRecursos.Enabled = false;
                                        MenuCotizaciones.Enabled = false;
                                        MenuAdministracion.Enabled = false;
                                    }
                                    else
                                    {
                                        if (Y.cod_cargo > 3)
                                        {
                                            MessageBox.Show("El sistema no tiene permite el acceso a este\nusuario, pues las labores inherentes a su cargo\nno requieren del uso de éste.", "ACCESO DENEGADO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                        }
                                    }
                                }
                            }
                            X.SesionIniciada();
                            this.Cursor = Cursors.Arrow;
                        }
                        else { MessageBox.Show("La contraseña indicada es incorrecta.", "ERROR AL INICIAR SESIÓN.", MessageBoxButtons.OK, MessageBoxIcon.Error); tbx_Pass.Focus(); this.Cursor = Cursors.Arrow; }
                    }
                    catch { MessageBox.Show("El usuario indicado no se encuentra en los registros.", "ERROR AL INICIAR SESIÓN.", MessageBoxButtons.OK, MessageBoxIcon.Error); tbx_Usuario.Focus(); this.Cursor = Cursors.Arrow; }
                }
                else { MessageBox.Show("El rut de usuario ingresado es incorrecto.", "ERROR AL INICIAR SESIÓN.", MessageBoxButtons.OK, MessageBoxIcon.Error); tbx_Usuario.Focus(); this.Cursor = Cursors.Arrow; }
                this.Cursor = Cursors.Arrow;
            }
        }

        private void btn_CerrarSesion_Click(object sender, EventArgs e)
        {
            tbx_Usuario.Enabled = true;
            tbx_Pass.Enabled = true;
            tbx_UsuarioDigito.Enabled = true;
            btn_CerrarSesion.Visible = false;
            tbx_Pass.Clear();
            tbx_Usuario.Clear();
            lbl_Sesion.Text = "Inicie Sesión...";
            MenuParvulos.Enabled = false;
            MenuApoderados.Enabled = false;
            MenuRecursos.Enabled = false;
            MenuAdministracion.Enabled = false;
            pnl_Principal.Controls.Clear();
            pnl_Principal.Controls.Clear();
            X.TopLevel = false;
            X.Parent = pnl_Principal;
            X.Show();
            X.SesionCerrada();

        }

        private void registrarNiñoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            pnl_Principal.Controls.Clear();
            RegistrarParvulos X = new RegistrarParvulos();
            X.TopLevel = false;
            X.Parent = pnl_Principal;
            X.Show();
        }

        private void limpiarPanelToolStripMenuItem_Click(object sender, EventArgs e)
        {
            pnl_Principal.Controls.Clear();
            X.TopLevel = false;
            X.Parent = pnl_Principal;
            X.Show();
            if (btn_CerrarSesion.Visible == false) { X.SesionCerrada(); }
            else { X.SesionIniciada(); }
        }

        private void consultarNiñosToolStripMenuItem_Click(object sender, EventArgs e)
        {
            pnl_Principal.Controls.Clear();
            ConsularParvulos X = new ConsularParvulos();
            X.TopLevel = false;
            X.Parent = pnl_Principal;
            X.Show();
        }

        private void salirToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("¿Está seguro que desea salir?", "CONFIRMAR SALIDA.", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                this.Dispose();
                Application.Exit();
            }
        }

        private void registrarAutorizadosARetiroToolStripMenuItem_Click(object sender, EventArgs e)
        {
            pnl_Principal.Controls.Clear();
            AutorizadosRetiro X = new AutorizadosRetiro();
            X.TopLevel = false;
            X.Parent = pnl_Principal;
            X.Show();
        }

        private void consultarRetiroToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            ConsultaRetiro M = new ConsultaRetiro();
            M.Show();
        }

        private void enlistarApoderadosToolStripMenuItem_Click(object sender, EventArgs e)
        {
            pnl_Principal.Controls.Clear();
            ConsultarApoderados X = new ConsultarApoderados();
            X.TopLevel = false;
            X.Parent = pnl_Principal;
            X.Show();
        }

        private void administraciónToolStripMenuItem_Click(object sender, EventArgs e)
        {
            pnl_Principal.Controls.Clear();
            Administracion X = new Administracion();
            X.TopLevel = false;
            X.Parent = pnl_Principal;
            X.Show();
        }

        private void MenuConsultarRetiro_Click(object sender, EventArgs e)
        {
            ConsultaRetiro X = new ConsultaRetiro();
            X.Show();
        }

        private void MenuEditarFichas_Click(object sender, EventArgs e)
        {
            pnl_Principal.Controls.Clear();
            EditarParvulos X = new EditarParvulos();
            X.TopLevel = false;
            X.Parent = pnl_Principal;
            X.Show();
        }

        private void MenuGestionRecursos_Click(object sender, EventArgs e)
        {
            pnl_Principal.Controls.Clear();
            Stock X = new Stock();
            X.TopLevel = false;
            X.Parent = pnl_Principal;
            X.Show();
        }

        private void toolStripMenuItem1_Click(object sender, EventArgs e)
        {
            pnl_Principal.Controls.Clear();
            ConsultarNiveles X = new ConsultarNiveles();
            X.TopLevel = false;
            X.Parent = pnl_Principal;
            X.Show();
        }

        private void MenuDocumentos_Click(object sender, EventArgs e)
        {
            pnl_Principal.Controls.Clear();
            RegistroDocumentos X = new RegistroDocumentos();
            X.TopLevel = false;
            X.Parent = pnl_Principal;
            X.Show();
        }
    }
}
